home *** CD-ROM | disk | FTP | other *** search
/ Acorn User: China / Acorn User China CD-ROM (UK) (Disc A) / Acorn User China CD-ROM (UK) (Disc A).bin / DEMON / DEVELOPER / HYPERMAIL.ARC / !hypermail_docs_hyperinfo < prev    next >
Encoding:
Text File  |  1996-01-30  |  24.7 KB  |  463 lines

  1. <html>
  2. <head>
  3. <title>Hypermail Documentation</title>
  4. </head>
  5. <body>
  6. <h1><img src="./hypermail.gif" alt="[*]"> Hypermail 1.02</h1>
  7. <hr>
  8.  
  9. <p>
  10. <ul>
  11. <li> <a href="#1">What is Hypermail?</a>
  12. <li> <a href="#ACORN">Using !Hypermail on the RISC PC</a>
  13. <li> <a href="#2">Usage</a>
  14. <li> <a href="#3">Command-Line Options</a>
  15. <ul>
  16. <li> <a href="#3.1">Input and Output Options</a>
  17. <li> <a href="#3.2">Archive Interface Options</a>
  18. <li> <a href="#3.3">Updating Options</a>
  19. <li> <a href="#3.4">Miscellaneous Options</a>
  20. </ul>
  21. <li> <a href="#4">Configuration Options</a>
  22. <li> <a href="#5">Other Things</a>
  23. <li> <a href="#6">Getting Hypermail</a>
  24. </ul>
  25. <p>
  26.  
  27. <hr>
  28.  
  29. <a name="1"><h1>What is Hypermail?</h1></a>
  30.  
  31. <b>Hypermail</b> is a program that takes a file of mail messages in UNIX mailbox format and generates a set of cross-referenced HTML documents. Each file that is created represents a separate message in the mail archive and contains links to other articles, so that the entire archive can be browsed in a number of ways by following links. Archives generated by Hypermail can be incrementally updated, and Hypermail is set by default to only update archives when changes are detected.
  32. <p>
  33. Each HTML file that is generated for a message contains (where applicable):
  34. <p>
  35. <ul>
  36. <li> the subject of the article,
  37. <li> the name and email address of the sender,
  38. <li> the date the article was sent,
  39. <li> links to the next and previous messages in the archive,
  40. <li> a link to the message the article is in reply to, and
  41. <li> a link to the message next in the current thread.
  42. </ul>
  43. <p>
  44. In addition, Hypermail will convert references in each message to email addresses and URLs to hyperlinks so they can be selected. Email addresses can be converted to <code>mailto:</code> URLs or links to a CGI mail program. Note that not all World-Wide Web browsers support the <code>mailto:</code> URL yet.
  45. <p>
  46. To complement each set of HTML messages, four index files are created which sort the articles by date received, thread, subject, and author. Each entry in these index files are links to the individual articles and provide a bird's-eye view of every archived message.
  47. <p>
  48. Hypermail was originally developed and designed by Tom Gruber for <a href="http://www.eit.com/">Enterprise Integration Technologies</a> (EIT) in Common Lisp. It was later rewritten in C by Kevin Hughes at EIT.
  49. <p>
  50.  
  51. To see what Hypermail can do, take a look at these Hypermail-produced archives:
  52. <p>
  53. <ul>
  54. <li> <a href="http://www.eit.com/www.lists/">Current www-talk archives</a>, for technical Web talk
  55. <!-- <li> <a href="http://www.eit.com/mailinglists/www-courseware/archive/">www-courseware</a>, for discussion on Web courseware -->
  56. <!-- <li> <a href="http://www.eit.com/mailinglists/www-literature/archive/">www-literature</a>, for discussion on Web literature -->
  57. </ul>
  58. <p>
  59.  
  60. <hr>
  61.  
  62. <a name="ACORN"><h1>Using !Hypermail on the RISC PC</h1></a>
  63.  
  64. <b>!Hypermail</b> is a version of Hypermail which runs on Acorn's RISC PC
  65. (and should run on earlier Acorn machines). All the options set out in this
  66. document are available to command line users, but the program is set up by
  67. default in the following way:
  68.  
  69. <UL>
  70.  <LI>The default input file is that used by ANT's InetSuite, ie,
  71. <CODE>Mail:Mail.INBOX</CODE> (where <CODE>Mail$Path</CODE> is set by
  72. <b>!MarcelDir</b>) .
  73.  <LI>Doublc-clicking on !Hypermail will run the program and put individual
  74. mail messages, formatted as HTML (and given the file-type HTML), in various
  75. directories in <CODE>HyperMail:files</CODE>. The program indexes the
  76. messages and these index files will be found in the directory
  77. <CODE>HyperMail:indexes</CODE>. 
  78.  
  79. <li>The file <a
  80. href="file://localhost/HyperMail:Config"><code>HyperMail:config</code></a> can be
  81. altered to change the defaults--for more details see <a
  82. href="#4">Configuration Options</a> below.
  83.  
  84.  <LI>The  <code>!Run</code> file simply runs the program in a task window
  85. and then <code>filer_run</code>s the index file; this should appear in a Web
  86. browser (provided that one has been seen by the computer). 
  87.  <LI>!Help from !Hypermail should run the file you are now reading if the
  88. program itself has not been run (and so there is no index file). Otherwise
  89. it should load the index file. (However the !Help file itself, which is an
  90. <CODE>obey</CODE> file, uses the <CODE>ifthere</CODE> command which I think
  91. was only introduced in RO3.5 and so will need altering for earlier versions
  92. of the OS.)
  93.  <LI>The program may well get confused if some messages are deleted from the
  94. <CODE>INBOX</CODE>. It may well be best to delete all the files in
  95. <CODE>HyperMail:files</CODE> if messages are deleted from the 
  96. <CODE>INBOX</CODE> and then run the program again. It can also get confused
  97. by badly formed messages.
  98. <LI>The program suffers from many deficiencies in comparison with other
  99. Acorn Mail Readers. For example it does not understand file attachments and
  100. indeed sometimes thinks that a line in a uuencoded file is a mail address
  101. (and so adds a <CODE>mailto:</CODE> tag to it!): this of course makes the
  102. uucencoded file completely useless.
  103.  
  104.  <li>Further, it does not contain a mailer. It does, however, use the 
  105. <CODE>mailto:</CODE>  command which will be picked up by !Marcel and
  106. probably by other mailers. 
  107.  
  108.  <li>It does, however, show what can be done with mailer-reading programs.
  109. My own view is that all the existing Acorn mail readers produce rather
  110. boring-looking output. Turning the text into HTML makes messages look much
  111. better. It appears from the  licence---details of where to obtain the full
  112. licence are set out <a href="#6">below</a>, while the <a
  113. href="file://localhost/HyperMail:Docs/swfaq"><code>FAQ</code></a> is in the
  114. <code>docs</code> directory---that there is no charge even for commercial use of
  115. the program. Perhaps the authors of the existing mailers could incorporate
  116. the code into their programs. 
  117.  
  118.  <LI>I must emphasise that I am a rank amateur so far as programming is
  119. concerned and so the program is very likely to crash (and I am very unlikely
  120. to know why it has done so). 
  121. <STRONG>Do not in any circumstances</STRONG> use !Hypermail to store
  122. valuable mail messages.
  123.  
  124.  <li>  The source code is, of course, included. (There
  125. are details of the alterations I have made to the original code in <a
  126. href="file://localhost/HyperMail:Docs/Acorn"><code>HyperMail:docs.Acorn</code></a>.)
  127.  <li>Some of the configuration options are not very
  128. useful. For example setting <code>HM_INCREMENT</code> gives a good chance of
  129. crashing the program (since it treats the entire mailbox as a single mail
  130. message). 
  131.  <li>It is possible to set the program to process only new messages
  132. (<code>HM_OVERWRITE</code>) but this only works if none of the existing
  133. messages have been deleted: otherwise the indexes get confused.
  134.  
  135. </UL>
  136.  
  137. <P><HR>
  138.  
  139. <a name="2"><h1>Usage</h1></a>
  140.  
  141. <p>
  142. <pre>
  143.   usage: hypermail -upix [-m "mbox"] [-l "label"] [-d "dir"]
  144.          [-a "URL"] [-b "URL"] [-c "file"]
  145. options: -m : Mail archive to read in
  146.          -l : What to name the output archive
  147.          -d : The directory to save HTML files in
  148.          -a : URL to other archives
  149.          -b : URL to archive information
  150.          -c : Configuration file to read in
  151.          -x : Overwrite previous messages
  152.          -i : Read messages from standard input
  153.          -u : Update archive by one article
  154.          -p : Show progress
  155. </pre>
  156. <p>
  157. Using the flags <b>-z</b>, <b>-h</b>, or <b>-?</b> with Hypermail will display this usage summary.
  158. <p>
  159.  
  160. <hr>
  161.  
  162. <a name="3"><h1>Command-Line Options</h1></a>
  163.  
  164. <a name="3.1"><b>Input and Output Options:</b><br></a>
  165. <b>-i</b>, <b>-m</b> <i>"mailbox"</i>, <b>-d</b> <i>"directory"</i>, <b>-c</b> <i>"file"</i>
  166. <p>
  167.  
  168. To tell Hypermail what mailbox to read in, use the <b>-m</b> option. If articles will be sent to Hypermail through standard input, use the <b>-i</b> option. Note that the <b>-m</b> and <b>-i</b> options can't be used together! By default, Hypermail will look for a file called <code>mbox</code> to read its articles in from.
  169. <p>
  170. The <b>-d</b> option specifies the directory to put the HTML files and index files that are created into. If the directory doesn't exist, a new one will be created with the name that is specified. If the <b>-d</b> option isn't used, Hypermail will look for a directory with the same name as the mailbox or will create one if needed.
  171. <p>
  172. <pre>
  173.    example 1: hypermail -m "www-talk" -d "/archives/www-talk"
  174.    example 2: cat "/var/spool/mail/foo" | hypermail -i
  175. </pre>
  176. <p>
  177. <ol>
  178. <li> This example reads the articles in <code>www-talk</code> and will save the output in the <code>/archives/www-talk</code> directory.
  179. <p>
  180. <li> This reads the file <code>/var/spool/mail/foo</code> from standard input and will save the output in a directory called <code>archive</code> in the same directory Hypermail was run from.
  181. </ol>
  182. <p>
  183. Note that Hypermail can only read messages in the UNIX mailbox format! Such archives are typically RFC 822 mail messages appended to each other that look similar to this:
  184. <p>
  185. <pre>
  186.    From john@foo.com  Mon Jan  1 00:01:30 1994
  187.    Date: Mon, 1 Jan 1994 00:01:15 PDT
  188.    From: john@foo.com
  189.    To: everyone@foo.com
  190.    Subject: Hello, world!
  191.  
  192.    Hi, everyone, just saying hello!
  193.  
  194.    From someone.else@foo.com  Mon Jan  1 00:02:00 1994
  195.    Date: Mon, 1 Jan 1994 00:01:45 PDT
  196.    ...
  197. </pre>
  198. <p>
  199. The messages are typically separated by lines in this format:
  200. <p>
  201. <pre>
  202.    From www-talk@www0.cern.ch  Fri Jul  1 00:18:20 1994
  203. </pre>
  204. <p>
  205. The <b>-c</b> option tells Hypermail to read in settings from a configuration file. By default, the program will attempt to read settings from a file called <code>.hmrc</code> in the user's home directory if it exists.
  206. <p>
  207. In the configuration file, variables are set in the following manner:
  208. <p>
  209. <pre>
  210.    set hm_variable = number
  211.    set hm_variable = "string"
  212. </pre>
  213. The complete set of variables that Hypermail recognizes is described in the <a href="#4">Configuration Options</a> section.
  214. <p>
  215.  
  216. <a name="3.2"><b>Archive Interface Options:</b><br></a>
  217. <b>-l</b>, <i>"label"</i>, <b>-a</b> <i>"URL"</i>, <b>-b</b> <i>"URL"</i>
  218. <p>
  219. The <b>-l</b> option tells Hypermail what to call the archive - the name that is specified will be in the title of the index pages so users know what sort of messages are being archived.
  220. <p>
  221. The <b>-a</b> option includes a link labelled "Other mail archives" in the index pages to any specified URL. This way users who are looking at the archive have the opportunity to go to pointers to other mail archives. By default, this will be a pointer to the parent directory in which the archive files reside.
  222. <p>
  223. The <b>-b</b> option includes a link labelled "About this archive" in the index pages to any specified URL. This way users who are looking at the archive have the opportunity to go to information about the archive.
  224. <p>
  225. <pre>
  226.    example: hypermail -l "WWW-Talk Archives"
  227.             -a "http://foo.com/archives/"
  228.             -b "http://foo.com/archives/info.html"
  229. </pre>
  230. <p>
  231. In the index files for the archive, the above setting will produce something like this:
  232. <p>
  233. <blockquote>
  234. <code>(top of page)</code>
  235. <p>
  236. <b>WWW-Talk Archives</b>
  237. <ul>
  238. <li> <a href="http://foo.com/archives/info.html"><b>About this archive</b></a>
  239. <li> <a href="http://foo.com/archives/"><b>Other mail archives</b></a>
  240. </ul>
  241. <p>
  242. <code>(list of indexed articles below)</code>
  243. </blockquote>
  244. <p>
  245.  
  246. <a name="3.3"><b>Updating Options:</b><br></a>
  247. <b>-x</b>, <b>-u</b>
  248. <p>
  249. The <b>-x</b> option tells Hypermail to explicitly overwrite any previous HTML files that may exist. Use this option only when it is desirable to completely rewrite the entire archive.
  250. <p>
  251. The <b>-u</b> option tells Hypermail to update the archives by one message only. With this option, only one email message will be read in from a file or standard input. This message will be added to the end of the existing HTML file archive and will be integrated into it by links and cross-references. All archive index files will be regenerated to include the new message.
  252. <p>
  253. <b>Important!</b> - If the <b>-u</b> option is used and Hypermail is reading from a mailbox file, Hypermail will assume that the file contains only one article, no matter how many files the mailbox may actually contain. Make sure that Hypermail is given only one article when using this option.
  254. <p>
  255. If the mailbox that is being read from is an archive that new messages are always being added to, don't use either of these options. Hypermail will then read in all the messages given it but will only write new messages that have been appended to the mailbox.
  256. <p>
  257. <pre>
  258.    example 1: cat "one.letter" | hypermail -i -u -d "/www-talk"
  259.    example 2: hypermail -i -u -m "one.letter" -d "/www-talk"
  260.    example 3: hypermail -m "mailbox" -d "/www-talk" -x
  261.    example 4: hypermail -m "mailbox" -d "/www-talk"
  262. </pre>
  263. <p>
  264. <ol>
  265. <li> This tells Hypermail to take the article it receives from standard input and integrate it with the archive under the <code>www-talk</code> directory. If no archive exists, a new one will be created with the specified letter as the first file of the archive.
  266. <p>
  267. <li> This does the same thing, except that the letter is read in from a file that contains only that letter.
  268. <p>
  269. <li> With these options, Hypermail will read in the articles from <code>mailbox</code> and write over any existing files in the <code>www-talk</code> directory if they exist. If no archive exists, a new one will be created.
  270. <p>
  271. <li> With these options, Hypermail will read in the articles from <code>mailbox</code> and only write new articles - it will not overwrite any existing archive files.
  272. </ol>
  273. <p>
  274. Note that no matter what options are specified, the index files are always rewritten. The date when Hypermail was last run is included in index pages, so it's easy to tell when the archive was last updated.
  275. <p>
  276.  
  277. <a name="3.4"><b>Miscellaneous Options</b><br></a>
  278. <b>-p</b>
  279. <p>
  280. The <b>-p</b> option shows a progress report as Hypermail reads in and writes out messages - the number of files that Hypermail is reading and writing and the file names of the directory and files created are shown.
  281. <p>
  282. <hr>
  283.  
  284. <a name="4"><h1>Configuration Options</h1></a>
  285.  
  286. Hypermail has many variables that can be set as environment variables or as variables in the specified configuration file. For instance, using the C shell, one could define variables in this manner:
  287. <p>
  288. <pre>
  289.    setenv HM_MBOX /home/john/my_mailbox
  290.    setenv HM_FILEMODE 0600
  291. </pre>
  292. <p>
  293. In the configuration file, variables must be in lowercase and separated by their values with an equals (<code>=</code>) sign. Blank lines and lines beginning with the <code>#</code> character are skipped:
  294. <pre>
  295.    set hm_mbox = "/home/john/my_mailbox"
  296.    set hm_filemode = 0600
  297. </pre>
  298. <p>
  299. Settings are read in this order:
  300. <p>
  301. <ol>
  302. <li> From the program's hard-wired internal defaults,
  303. <li> From environment variables,
  304. <li> From command-line options,
  305. <li> From the configuration file.
  306. </ol>
  307. <p>
  308. Below is a list of configuration variables that can be defined. Boolean numbers can have the value of 0 or 1.
  309. <p>
  310. <dl>
  311. <dt> <code>HM_CONFIGFILE "filename"</code>
  312. <dd> This is the default configuration file to read settings in from. This can only be specified as an environment variable. If the first character is "~", Hypermail will look for the file under the current user's home directory.
  313. <p>
  314. <dt> <code>HM_MBOX "filename"</code>
  315. <dd> This is the default mailbox to read messages in from. Define this with a value of <code>"NONE"</code> to read from standard input as the default.
  316. <p>
  317. <dt> <code>HM_ARCHIVES "URL"</code>
  318. <dd> This will create a link in the archived index pages to the specified URL. Define as <code>"NONE"</code> to omit such a link.
  319. <p>
  320. <dt> <code>HM_ABOUT "URL"</code>
  321. <dd> This will create a link in the archived index pages to the specified URL. Define as <code>"NONE"</code> to omit such a link.
  322. <p>
  323. <dt> <code>HM_REVERSE boolean_number</code>
  324. <dd> Defining this variable as <code>1</code> will reverse-sort the article entries in the date and thread index files by the date they were received. That is, the most recent messages will appear at the top of the index rather than the other way around.
  325. <p>
  326. <dt> <code>HM_SHOWHEADERS boolean_number</code>
  327. <dd> Define this as <code>1</code> to show the article header lines in the archived HTML files. These lines typically include the "To:", "From:", and "Subject:" information found in most email messages.
  328. <p>
  329. <dt> <code>HM_SHOWHTML boolean_number</code>
  330. <dd> Define as <code>1</code> this to show the articles in a proportionally-spaced font rather than a fixed-width (monospace) font. Defining this option will also tell Hypermail to attempt to italicize quoted passages in articles.
  331. <p>
  332. <dt> <code>HM_LABEL "label name"</code>
  333. <dd> Define this as the default label to put in archives.
  334. <p>
  335. <dt> <code>HM_DIR "directory"</code>
  336. <dd> This is the default directory that Hypermail will look for when creating and updating archives. If defined as <code>"NONE"</code>, the directory name will be the same name as the mailbox read in.
  337. <p>
  338. <dt> <code>HM_DIRMODE octal_number</code>
  339. <dd> This is an octal number that new directories are set to when they are created. If the archives will be made publically available, it's a good idea to define this as <code>0755</code>. If files will be updated incrementally with sendmail, this will have to be <code>0777</code>.
  340. <p>
  341. <dt> <code>HM_FILEMODE octal_number</code>
  342. <dd> This is an octal number that new files are set to when they are created. If the archives will be made publically available, it's a good idea to define this as <code>0644</code>. If files will be updated incrementally with sendmail, this will have to be <code>0666</code>.
  343. <p>
  344. <dt> <code>HM_OVERWRITE boolean_number</code>
  345. <dd> Define as <code>1</code> to make Hypermail overwrite existing archives by default.
  346. <p>
  347. <dt> <code>HM_INCREMENT boolean_number</code>
  348. <dd> Define as <code>1</code> to read one article only and append it to existing archives by default.
  349. <p>
  350. <dt> <code>HM_PROGRESS boolean_number</code>
  351. <dd> Define as <code>1</code> to always show a progress report as Hypermail works.
  352. <p>
  353. <dt> <code>HM_THRDLEVELS number</code>
  354. <dd> This specifies the number of thread levels to outline in the thread index. For instance, if <code>THRDLEVELS</code> is <code>2</code>, replies to messages will be indented once in the index, but replies to replies, etc., will only be indented once as well.
  355. <p>
  356. <dt> <code>HM_DEFAULTINDEX "type"</code>
  357. <dd> This is the index that is intended to be the one that users see first when entering the archive. Possible values are <code>"date"</code>, <code>"thread"</code>, <code>"subject"</code>, and <code>"author"</code>.
  358. </dl>
  359. <p>
  360. There are a few <code>#define</code> options which can only be changed in the source code:
  361. <p>
  362. <dl>
  363. <dt> <code>SHOWBR</code>
  364. <dd> When defined, <code><br></code> tags will be placed at the end of article lines. Otherwise, all non-quoted article lines will word wrap. This only takes effect if <code>SHOWHTML</code> is defined.
  365. <p>
  366. <dt> <code>IQUOTES</code>
  367. <dd> When defined, Hypermail attempts to italicize quoted lines. This only takes effect if <code>SHOWHTML</code> is defined.
  368. <p>
  369. <dt> <code>SHOWHR</code>
  370. <dd> When defined, horizontal rules are placed before and after articles.
  371. <p>
  372. <dt> <code>EURODATE</code>
  373. <dd> When defined, article received dates will appear with days before months instead of months before days.
  374. <p>
  375. <dt> <code>SHOWREPLIES</code>
  376. <dd> When defined, all replies to a message will be shown as links in article files.
  377. <p>
  378. <dt> <code>MAILCOMMAND "command"</code>
  379. <dd> This specifies the mail command to use when converting email addresses to links. Variables can be used in constructing the command string:
  380. <p>
  381. <ul>
  382. <li> <code>$TO</code> represents the address to send mail to,
  383. <li> <code>$SUBJECT</code> represents the subject that is being replied to, and
  384. <li> <code>$ID</code> represents the message ID of the article that is being replied to.
  385. </ul>
  386. <p>
  387. If <code>MAILCOMMAND</code> is not defined, email addresses will not be converted to links in articles. A possible command one could use is <code>"mailto:$TO"</code>, but this could easily be changed to specify a CGI program such as <code>"/cgi-bin/mail?to=$TO"</code>. A CGI mail program is included with the source which can be used for this purpose.
  388. </dl>
  389. <p>
  390.  
  391. <hr>
  392.  
  393. <a name="5"><h1>Other Things</h1></a>
  394.  
  395. <b>Filenames:</b> In the specified directory, articles will be read out in the order that they were read in from a mailbox or standard input. Filenames start at zero and increase in this fashion: <code>0000.html</code>, <code>0001.html</code>, <code>0002.html</code>, etc. In the same directory:
  396. <p>
  397. <ul>
  398. <li> <code>date.html</code> is the index of articles sorted by the date they were received by the system's mail daemon.
  399. <li> <code>thread.html</code> is the index of articles sorted by thread first, then the date they were received.
  400. <li> <code>subject.html</code> is the index of articles sorted by subject. Any "Re:" prefixes in front of subjects will have been stripped out.
  401. <li> <code>author.html</code> is the index of articles sorted by the first word of the author's name. If the author's name can't be determined, their email address will be substituted.
  402. <li> One of the above files will be called <code>index.html</code> and is the default index that users can go to when entering the archive.
  403. </ul>
  404. <p>
  405.  
  406. <b>Sorting:</b> In the date and thread index files, note that these lists are sorted by the date the articles were received by the system's mail daemon, not by the date they were written on. The order of articles in the date index may not necessarily match the order in which the article files are written and linked together. Because of this, it is a good idea to make sure the mailbox is sorted by date with the most recent messages towards the bottom.
  407. <p>
  408.  
  409. <b>Running Hypermail automatically:</b> All that's needed to start archiving email messages is to set up Hypermail to do incremental updates in your <code>/etc/aliases</code> file. Here's what an entry might look like (the last line is one unbroken line):
  410. <p>
  411. <pre>
  412.    # Archived mailing list
  413.    # admin@foo.bar 1/1/94
  414.    list: john, mary, "|/usr/local/bin/hypermail -i -u
  415.    -d /archives/list -l \"Mailing List Archive\""
  416. </pre>
  417. <p>
  418. After adding the entry, make sure <code>newaliases</code> is run to update the mail aliases. This entry will run Hypermail and update/create the archive whenever a new message is received. Hypermail also works well as a <code>cron</code> job. Because <code>sendmail</code> may run Hypermail as different users (this is a well-known <code>sendmail</code> bug), you will want to make sure that archive directories and files are made readable and writeable by everyone when they are created. This will ensure that there will be no problems incrementally updating the archive.
  419. <p>
  420. <b>Including HTML in messages:</b> One can include formatted HTML in message bodies by enclosing the HTML with the <HTML> tag (in either uppercase or lowercase). This tag must be on a line by itself:
  421. <p>
  422. <pre>
  423.    This text will not be parsed...
  424.    <html>
  425.    <b>this text</b> will be parsed as HTML.
  426.    </html>
  427.    This text will not be parsed...
  428. </pre>
  429. <p>
  430. There is no limit to how often the <HTML> tag can be used in an article.
  431. <p>
  432.  
  433. <hr>
  434.  
  435. <a name="6"><h1>Getting Hypermail</h1></a>
  436.  
  437. All versions of Hypermail are available free of charge under a license agreement. It allows free use for noncommercial purposes, and protects against unauthorized commercial distribution. To view the agreement and download the software, open your World-Wide Web browser to <a href="http://www.eit.com/software/hypermail/">http://www.eit.com/software/hypermail/</a>.
  438. <p>
  439.  
  440. Hypermail binaries are available for the following platforms:
  441. <p>
  442. <ul>
  443. <li> SunOS 4.1.3
  444. <li> Solaris 2.3 <li> IRIX 5.2
  445. <li> OSF/1 2.0
  446. </ul>
  447. <p>
  448. The Common Lisp version of Hypermail has had no formal version number and differs in many ways from the current C version. The latest documentation of the C version can always be found at <a href="http://www.eit.com/software/hypermail/hypermail.html">http://www.eit.com/software/hypermail/hypermail.html</a>.
  449. <p>
  450.  
  451. <ul>
  452. <li> Please send any feature requests, bug fixes, and comments on the C version of Hypermail to Kevin Hughes at <a href="mailto:kevinh@eit.com">kevinh@eit.com</a>. Requests, fixes, and comments on the Common Lisp version <b>only</b> should be sent to Tom Gruber at <a href="mailto:gruber@ksl.stanford.edu">gruber@ksl.stanford.edu</a>.
  453. <li> Due to the inordinate amount of email Kevin gets, he makes no promises that he will have time to respond to your message. He will eventually read everything you send him, however.
  454. <li> <b>If you have questions about licensing</b>, please send email to Elizabeth Batson, <a href="mailto:batson@eit.com">batson@eit.com</a>. She should only be contacted if you have licensing or business related questions.
  455. <li> The Acorn part of this document has been written by Roger Horne, <a href="mailto:roger@number7.demon.co.uk">(roger@number7.demon.co.uk)</a> who is also the person who took a blunt instrument to the original source code and got it to work on the RISC PC.
  456. <p>
  457.  
  458. <hr>
  459.  
  460. <i>Last updated August 25, 1995</i>
  461. </body>
  462. </html>
  463.